package cn.phub.basic.util;

import lombok.AllArgsConstructor;
import lombok.Data;

/**
 * 增删改结果工具类：封装Ajax请求的返回结果
 *
 */
@Data
@AllArgsConstructor
public class AjaxResult {

    private Boolean success = true;

    private String message = "操作成功";
    //用来封装额外的返回参数
    private Object resultObj;

//    private Object resultObject = null; // 这里用于返回其他数据类型：有备无患
//
//    private Object data;

    //链式语法,相当于单例模式方式：通过方法返回自己对象
    public static AjaxResult me(){
        return new AjaxResult();
    }

    /**
     * 无参
     */
    public AjaxResult(){ }

    /**
     * 全参
     * @param success
     * @param message
     */
    public AjaxResult(Boolean success, String message) {
        this.success = success;
        this.message = message;
    }



    // 只提供set方法
    public AjaxResult setSuccess(Boolean success) {
        this.success = success;
        return this;
    }

    /**
     * 重写 set
     * @param message
     * @return
     */
    public AjaxResult setMessage(String message) {
        this.message = message;
        return this;
    }

    public AjaxResult setResultObj(Object resultObj) {
        this.resultObj = resultObj;
        return this;
    }

}